﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using UAXInversionesWeb.logicaNegocio;

namespace UAXInversionesWeb.supervisor
{
    public partial class ModificarSupervisor : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }

        protected void checkSupr_Click(object sender, EventArgs e)
        {
            //consulta datos operario
            bool resultado = cargarSupervisor(Int32.Parse(idSupervisor.Text));

            if (resultado)
            {
                mensajeError.Text = "";
                panelEdicionSupr.Visible = true;
                idSupervisor.Enabled = false;
                checkSupr.Enabled = false;
            }
            else
            {
                mensajeError.Text = "Supervisor no encontrado!";
                panelEdicionSupr.Visible = false;
            }
        }

        protected void updateDataButton_Click(object sender, EventArgs ea)
        {
            Empleado e = new Empleado();
            e.setIdEmpleado(Int32.Parse(idSupervisor.Text));
            e.setNombre(es_nombre.Text);
            e.setApellidos(es_app.Text);
            e.setDNI(es_dni.Text);
            e.setFechaNacimiento(DateTime.Parse(es_fechaN.Text));
            e.setSexo(es_sexo.Text.ToCharArray()[0]);
            Direccion d = new Direccion();
            d.setTipoCalle(es_dirTipo.Text);
            d.setNombreCalle(es_direccion.Text);
            d.setNumeroCalle(Int32.Parse(es_dirNum.Text));
            d.setPiso(Int32.Parse(es_dirPiso.Text));
            d.setLetra(es_dirLetra.Text.ToCharArray()[0]);
            d.setEscalera(es_dirEsc.Text);
            d.setLocalidad(es_localidad.Text);
            d.setProvincia(es_provincia.Text);
            d.setCP(Int32.Parse(es_cp.Text));
            d.setPais(es_pais.Text);
            e.setDireccion(d);
            e.setTelefonoFijo(Int64.Parse(es_telfF.Text));
            e.setTelefonoMovil(Int64.Parse(es_telfM.Text));
            e.setFax(Int64.Parse(es_fax.Text));
            e.setCorreoElectronico(es_email.Text);
            bool x = Proxy.modificarEmpleado(e);
            if (x)
            {
                Response.Write("<script>alert('Datos modificados para el supervisor ')</script>");
            }
        }

        protected void resetButton_Click(object sender, EventArgs e)
        {
            cargarSupervisor(Int32.Parse(idSupervisor.Text));
        }

        /// <summary>
        /// carga los datos de un supervisor a partir de su id
        /// </summary>
        /// <param name="idSupervisor">el id del supervisor</param>
        /// <returns>true si se cargaron los datos correctamente</returns>
        protected bool cargarSupervisor(int idSupervisor)
        {
            bool result = false;
            Empleado c = Proxy.consultarDatosEmpleado(idSupervisor, 'S');

            if (c.getNombre() != "error")
            {
                es_nombre.Text = c.getNombre();
                es_app.Text = c.getApellidos();
                es_dni.Text = c.getDNI();
                es_fechaN.Text = c.getFechaNacimiento().ToShortDateString();
                es_sexo.Text = c.getSexo().ToString();
                es_dirTipo.Text = c.getDireccion().getTipoCalle();
                es_direccion.Text = c.getDireccion().getNombreCalle();
                es_dirNum.Text = c.getDireccion().getNumeroCalle().ToString();
                es_dirPiso.Text = c.getDireccion().getPiso().ToString();
                es_dirLetra.Text = c.getDireccion().getLetra().ToString();
                es_dirEsc.Text = c.getDireccion().getEscalera();
                es_localidad.Text = c.getDireccion().getLocalidad();
                es_provincia.Text = c.getDireccion().getProvincia();
                es_cp.Text = c.getDireccion().getCP().ToString();
                es_pais.Text = c.getDireccion().getPais();
                es_telfF.Text = c.getTelefonoFijo().ToString();
                es_telfM.Text = c.getTelefonoMovil().ToString();
                es_fax.Text = c.getFax().ToString();
                es_email.Text = c.getCorreoElectronico();
                result = true;
            }
            return result;
        }

        protected void Cancelar_Button_Click(object sender, EventArgs e)
        {
            mensajeError.Text = "";
            panelEdicionSupr.Visible = false;
            idSupervisor.Enabled = true;
            checkSupr.Enabled = true;
        }
    }
}
